<?php
require_once 'config.php'; 

class ServerCache{
    //取得缓存
    public static function getCache($url){
        $r="no";
        $p=str_replace(DZU_URL, "", $url);
        $mid=md5($p);
        $module=substr($p,0,strpos($p, ".asp"));
        if(ServerCache::canCache($module)){
            $sql="SELECT * FROM `smartdzu_cache` WHERE `mid`='$mid' LIMIT 1";
            $res=mysql_query($sql);
            if($row=mysql_fetch_array($res)){
                $r=$row['body'];
            }
        }
        return $r;
    }


    //设置缓存
    public static function setCache($url,$body){
        $p=str_replace(DZU_URL, "", $url);
        $mid=md5($p);
        $module=substr($p,0,strpos($p, ".asp"));
        if(ServerCache::canCache($module) && trim($body)!='' && trim($body)!='Unauthorized'){
            $sql="INSERT INTO `smartdzu_cache` (`mid`, `module`, `body`, `url`, `date`) VALUES ('$mid', '$module', '$body', '$p', NOW());";
            mysql_query($sql);
        }
    }

    //是否允许缓存
    public static function canCache($m){
        $r=false;
        $module=array(
                'curriculum',//课表
                'student', //选择某课程的学生列表
                'score', //成绩
                'stuinfo', //学生信息
                'exam',//考试信息
                'xymc',//所有学院名称
                'zymc',//某学院所有专业名称
                'xzbmc',//某专业行政班名称
                'student2',//某行政班的学生列表
                'search',//学生信息搜索
                'xykc',//某学院的所有课程列表
                'xykcxx',//课程信息
                'jscx',//某教室的课程信息
                'ok'
             );
        for($i=0;$i<count($module);$i++){
            if($m==$module[$i]){
                $r=true;
                break;
            }
        }
        return $r;
    }
}
?>